
#include "object.hpp"

#include <list>

#ifndef CALYPSO_WORLD_HPP
#define CALYPSO_WORLD_HPP

namespace calypso {

	/* World is an Object, so we can have Worlds within Worlds! */
	class World : public Object {
	protected:
		std::list <Object *> objects;

	public:
		World (float _scale) : Object (_scale) {}


		virtual void draw () {
			for (std::list <Object *>::iterator pos = objects.begin (); 
					pos != objects.end (); ++pos) {
				(*pos)->render ();
			}
		}

		void push (Object *_obj) {
			objects.push_back (_obj);
		}
	};
}


#endif
